package com.kernel.streamDemo;

import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;

/****************************************
 * @name ReaderDemo
 * @description 字符输入流学习
 * @author 黄彬恒
 * @since 2018/8/17
 ***************************************/
public class ReaderDemo01 {
    public static void main(String[] args) {
        File file = new File("D:\\ideaProgram\\IOLearning\\src\\main\\resources\\4.txt");
        Reader fr = null;
        try {
            fr = new FileReader(file);
            char[] c = new char[(int) file.length()];
            /*第一种方式遍历*/
            for (int i = 0; i < c.length; i++) {
                c[i] = (char) fr.read();
            }
            /*第二种方式*/
            // fr.read(c);
            /*第三种方式*/
            // int len = 0;
            // int temp;
            // while ((temp = fr.read()) != -1) {// 字符流读到底的下一个元素会返回默认值-1
            //     c[len] = (char) temp; // 将ASC码转换成char数组中的元素(char型变量)
            //     len++;
            // }
            System.out.println(new String(c));
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (fr != null) {
                try {
                    fr.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
